package com.xuzimian.globaldemo.spring.springmvc.controller;

import com.fasterxml.jackson.annotation.JsonView;
import com.xuzimian.globaldemo.spring.springmvc.model.User;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @JsonView可以过滤pojo的属性，使Controller在返回json时候，pojo某些属性不返回，比如User的密码，一般是不返回的，就可以使用这个注解。
 *
 * @program: global-demo
 * @description: JsonViewDemo
 * @author: xzm
 * @create: 2019-04-24 15:05
 **/
@RestController
public class JsonViewController {

    /**
     * 根据在User类属性(get())上 注解的指定类型接口是 User.WithOutFieldView 来决定这些字段显示
     * @return
     */
    @GetMapping("/user")
    @JsonView(User.WithOutFieldView.class)
    public User getUser(){
        return new User("xzm",18,"123456");
    }

}
